#ifndef MOUSE_H
#define MOUSE_H

class Mouse;

#include "UserControlledInputDevice.h"
#include "GameResources.h"

/*
 * Class to handle mouse input in the game
 */
 class Mouse : public UserControlledInputDevice
{
public:
    Mouse(OIS::Mouse *m, GameResources *r);
    ~Mouse() {}
    Ogre::Radian getX();
    Ogre::Radian getY();
    void destroy(OIS::InputManager *i_m) { i_m->destroyInputObject(mouse); }
    void addMouseListener(OIS::MouseListener *ml) { mouse->setEventCallback(ml); }
    void capture();
    void setWidth(unsigned int width);
    void setHeight(unsigned int height);
    void initialise();
private:
    OIS::Mouse *mouse;
    int previous_x, previous_y;
    int max_x, max_y;
    int x_rel, y_rel;
} ;

#endif
